home *** CD-ROM | disk | FTP | other *** search
- /*
- echo tcp client - Usage: echotcp host
- */
-
-
- parse arg host .
-
- if host="" then do
- say "Usage: echotcp <host>"
- exit
- end
-
- addr=inetaddr(host)
- if addr==-1 then do
- if ~gethostbyname("HE",host) then do
- say "no host:" host
- exit
- end
- sin.ADDRADDR = HE.HOSTADDRLIST.0
- end
- else sin.ADDRADDR = addr
-
- if ~getservbyname("SE","echo","tcp") then do
- say "no echo tcp service at" host
- exit
- end
-
- sin.ADDRFAMILY = "INET"
- sin.ADDRPORT = SE.SERVPORT
-
- sock = socket("INET","STREAM","IP")
- if sock < 0 then do
- say "no socket:" ErrorString(Errno())
- exit
- end
-
- if connect(sock,"SIN") < 0 then do
- say "connect:" ErrorString(Errno())
- exit
- end
-
- REQUEST = "echo service test"
- res = send(sock,REQUEST,x2d(100))
- if res ~= length(REQUEST) then do
- say "send:" ErrorString(Errno())
- exit
- end
-
- len = recv(sock,"BUF",256,x2d(100))
- if len<0 then do
- say "recv:" ErrorString(Errno())
- exit
- end
- say buf
- call closesocket(sock)
-